home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Business Master (3rd Edition)
/
The Business Master (3rd Edition).iso
/
files
/
utilreen
/
booklet
/
docsmash.doc
< prev
next >
Wrap
Text File
|
1989-07-27
|
13KB
|
242 lines
DOCSMASH -- By David W. Rettger
===============================
DOCSMASH may be copied and passed to other users as long as this
document file accompanies the executable program file and both are
left intact. No party other than the author may change the
contents of these files, or charge any fee for distribution (other
than a nominal sum to cover the cost of a floppy disk and mailing
fees).
If you have benefitted from the use of DOCSMASH, please contribute
towards the costs of creating and updating this program by sending
$5.00 to:
David Rettger
Box 807, CBOT Annex
141 W. Jackson Blvd.
Chicago, Il. 60604
==================================================================
DOCSMASH.EXE -- Version 2.93
Have you ever downloaded a complicated program that came with its
own manual and, when you printed the manual, you ended up using
what seems like your whole box of paper to get hard copy? If you
have this problem, then DOCSMASH is for you! It will print a
normal 100 page document on a maximum 25 sheets of paper. You do
not lose any text, but you may need glasses to read it. Anyway,
it is good at what it does.
The DOCSMASH program is designed to reduce the size of the printed
output of any text or document file. It uses EPSON control codes
to reduce the print size and adjust line width to enable the
printer to place four pages of normal documentation on a single
sheet of paper. (Each of these 4 pages equals one DOCSMASH page
for purposes of describing things below.) New with this version is the
ability to use other than Epson printers. See the instructions below for
this feature.
Obviously, a dot matrix printer is required.
A few users have tried to DOCSMASH documents created by a word
processor. Word processors usually insert "soft" codes into their
files for tabs, pagination, etc. These codes do a great job of
confusing DOCSMASH. Only smash files which are pure ASCII
text! If you want to smash a file from, say, WordPerfect you
should first resave the file as ASCII text.
The program's operation is pretty straight forward. Run the
DOCSMASH.EXE program by typing the program name at the DOS prompt.
Just follow the menus and prompts throughout the program and you
should not have too many problems. At any time, hit F10 (and
perhaps <RETURN>) to terminate DOCSMASH. Some machines
refuse to quit when this command is issued. If all else fails,
when asked to enter the name of a document to print, you may now type
the word END to quit the program.
As time has passed, I have received comments from users with various
different types of "Epson Compatible" printers. It seems that
the width, line height, etc. settings which seem optimal on my printer
don't function quite right on theirs. This situation has prompted
me to add yet another feature to DOCSMASH. Now you are asked to
enter the phrase "RESET PARAMS" to set the printer parameters. You
can adjust the print width, number of lines per DOCSMASH page, the
line feed width, and the paper length (in inches). Defaults are:
Print Width = 164
Page Length = 58
Line Feed = 17
Paper Len. = 11
Left Margin = 0
(Note: If you hit <RETURN> alone when DOCSMASH asks for a document to
print, the program will now assume that you entered RESET PARAMS and
take you to the parameter reset menu.)
On my wide carriage printer, I use a setting of 164 for the printer
width. That allows for two sets of columns of 80 characters and the
four spaces between the columns. I have been told that a certain
IBM narrow carriage printer runs best on about a 130 setting. This 130
setting will allow 63 characters per print column which should work
most the time. Words that do not fit should wrap to the next line.
You should try to go as wide as possible, to maximize the squashing that
the program is trying to do. Wrapping to the next line will take up more
space vertically. (Here's a hint on setting the width if you have to.
Just leave the default setting, run a full page and wait until the
program prints dashes between the DOCSMASH pages. If those dashes
wrap to a second line, count how many wrap and subtract that amount
from the default setting.)
I included page length and line-feed height adjustments due to complaints
from users with 24 pin printers. These printers do not seem to function
the same as 9 pin printers when emulating Epson commands. They tend to
run over to the next page with my default settings. If the defaults
wrap to the next page on your printer, try adjusting line height, # of
lines to print, etc.
Very recently I received a copy of a document printed by DOCSMASH on an
Epson FX-80 or some such Epson printer. I was amazed at just how large
the print was. My Brother M1509 prints much smaller than that Epson.
Anyway, that narrow carriage printer could handle only a width of 94
characters. Mine runs great on 164 characters. Obviously, the amount
of print compression you achieve will depend on the hardware you are
using. (Note: I believe this problem occurred because the elite print
instruction sent by DOCSMASH had cancelled the compressed print
instruction on this printer. Now you can solve this problem. See
below.)
Another minor change has been made to this latest version of DOCSMASH.
One potential user requested that he be able to set the left margin so
he need not readjust the paper in his printer (already set to work with
the margins used by WordPerfect). Now the RESET PARAMS menu includes the
left margin adjustment. The preset default is Left Margin = 0. On a
narrow carriage printer, setting much of a left margin will eat into the
total amount of print compression you can achieve.
DOCSMASH will create a file called DOCSMASH.CFG in the root directory of
whatever the current drive is. This file will contain any parameters
you choose to enter, or the defaults. Deleting this file will cause
DOCSMASH to recreate the file with defaults and to prompt you again
that you can type RESET PARAMS to make changes. (Old versions left
the .CFG file in whatever subdirectory you happened to be in. That
will no longer happen.)
In the event that a printer problem occurs during a long print job
(out of paper, your child pulls out the plug, etc.), you may now
begin printing in the middle of a file. Follow the prompts to the
point where it says to enter a phrase and it will search for that
phrase. I have in mind documents that have a page number on each
page. If you got to Page 35 and then ran out of paper, having it
search to the phrase PAGE 35 would cause it to begin printing on
the line FOLLOWING the one with the specified phrase.
The major change in Version 2.9 concerns printers which are not Epson
compatible. You should now be able to use them. You will have to
get the printer control codes from your manual and create a new
printer control file. Here's how to do it:
When prompted to enter a document title, type RESET PRINTER instead.
The screen will show the various controls used to achieve the default
squashing, the printable portions of the codes and the ASCii codes
of each component of the strings. On the right side of the screen is
a column for entering new codes. Move the highlighted bar with the
up/down cursor control keys to the code you wish to change. Now you type
the new code. For instance, the Epson code to reset the printer is as
follows:
Esc @
To type this code, hit the Escape key and then the @ key (shift 2). Hit
<Return> to enter the code, or up/down to next item. To delete an item
entirely, simply type either the word NULL or the word NONE. Any string
of code entered may be up to 7 characters long.
Here's an example of a slightly different entry. The Epson code for
changing the line feed height to 17/216th's of an inch is as follows:
Esc 3 n
In this case, you replace n with 17 (17 / 216th's). Now, you can not
just type the number 17. If you do, you are actually typing two single
digits with the ASCii codes 31 and 37, respectively. You need to type
a single code which will have an ASCii value of 17. Sound hard? Its
really quite easy. Hold down the ALT key and, using the numeric keypad,
hit the <1> and the <7>. When you then release the ALT key, you will see
a symbol that looks like a left pointing arrow. This is the printable
symbol for ASCii 17. Any of the codes can be entered this way. <Esc>
is ASCii number 27. Hold the ALT key and hit 2 and 7. When you release
ALT, you will see the same symbol as if you had hit the <Esc> key itself.
(Note: In the event you have to enter the character corresponding to
ASCii code zero (NULL or chr$(0)) my method of entering these codes will
not recognize the ALT-0 combination. Therefore I chose what looked like
an obscure combination as a substitute. If you need to enter the Null
character, enter instead ALT-255. My program will see this and say "Oh
you really wanted NULL". Nothing will seem to print on the line becuase
NULL is, obviously, unprintable. However, when you <ENTER> the line you
will see the 0 pop up under the ASCii listing of the printer code.)
Some printers (even some Epsons) can not mix elite and condensed print.
One cancels the other. In this case, just type NULL for the elite code.
Just type in or delete codes as needed. If your printer can make use of
additional codes, I left space for two additional strings. If you want
to replace the string labeled "condensed" with some entirely different
code, feel free. Just remember, garbage in, garbage out! (The only
string that must be in the same place as shown on my menu is the Printer
Reset code. Be sure that you have that one entered properly, as the
first entry on the menu.)
To exit this menu, hit < F10 >. You will be asked if you want to save
these new codes. Answer yes or no. If no, the codes you entered will
be used for the current session only. If yes, a file called DOCSMASH.PRN
will be created on the root directory of the current drive. It will
contain these codes for future sessions.
If you are using special codes, the some of the entries under the
RESET PARAMS menu will NOT BE FUNCTIONAL. You still have to set the
print width and page length there, but nothing else on that menu will
work. The special codes supercede any entries there.
Other changes from the earliest versions are:
-Screen color control. If you do not like my choice of colors,
or if you have a monochrome monitor, you can change the appearance
of the screen output. Hit your F1 key (and RETURN if needed) to
get the color option menu. For color monitors, I like the
15 (foreground), 1 (background) combination. Mono monitor users
should use a background setting of 0.
-No more truncating lines of text that are too wide to print.
-Progress reports during printing. If you have an exceptionally
long document, you can see how far you have gone and how far you
have to go. The "Lines sent to the printer" number reflects the
number of lines sent to the print buffer, not the number of lines
actually printed at that point. A large print buffer will cause
this number to be significantly ahead of the actual lines printed
on paper.
-The program may be terminated by hitting <F10>. If hitting <F10> does
not terminate the program immediately, hit <RETURN> once. Or, instead
of typing the name of a document to print, type the word END .
=================================================================
DOCSMASH was written using Borland's TURBO BASIC. Their product
provides a complete programming environment that makes compiled
basic a pleasure to use. If you are on the market for a basic
compiler, I'd highly recommend TURBO BASIC!
=================================================================
All of the above changes have come about as the result of comments
left for me by users. If you would like to see something changed
or added, or if you just want to make a comment about the program,
you may leave a message for David Rettger on the ORCHARD HILL BBS
phone number (312) 974-0282. (Orchard Hill has DOCSMASH available
to non-registered users. Call here for latest versions. Also, if
you are interested in an active BBS with a service oriented SYSOP,
do consider this one!) On Compuserv, leave me a message at my number
71131,3253.